赤外線式リモコンの解析
(ここに書いてあることは私が適当に調べた内容なので ^^; 間違いがあるかも知れません。)
セレクター付き電子ボリュームのコントロールは赤外線リモコンで行う事に決めました。
音量調整、入力切替の度にセレクターまでいかなければならず面度です。
また、マイコンの入力は赤外線受信モジュールの1本のみとなりポートの節約になります。
まず、赤外線リモコンの解析を行いました。
解析に使用するのは秋月電子で販売されている赤外線モジュールです。電源+5Vを供給するだけで、
リモコンの信号を取り出す事ができます。
家にあるソニーのTV用リモコンを解析する事にしました。
(写っていないが受信モジュールとPIC間は10kΩでプルアップしている。)
とりあえず、デジタルオシロで波形を見てみるとこんな感じの波形が計測できます。
コマンド信号のフォーマットをネットで調べてみると、
スタートビット+コマンドデーター(7bit)+メーカー識別 の順に出力され、
通常Highでスタートビット(Low)から始まり、Lowレベルで短いビットは0、
長いビットは1となることがわかりました。(Highは一定の長さ)
ためしに、チャンネル1から3までの波形をみてみますと。
この観測から、コマンドデーターは下位ビットから上位ビットの流れで出力される事が分かります。
チャンネル1:00h
チャンネル2:01h
チャンネル3:02h
今回リモコンで主に利用したいのは、
音量+、音量−、入力切替 で音量の波形を調べると
音量+:12h (16進数)
音量−:13h
であることがわかりました。そのほかのボタンも同じように調べれば簡単に分かります。(切り替えは 25h)
これをどうマイコンで読み取らせるかです。
まず各ビットの長さを調べてみました。
スタートビット(2.48ms)
High時(520μs)
Low bitが0の時(680μs)
Low bitが1の時(1.280ms)
通常時はHighで信号がLowになったらコマンド受信状態にして、2.48ms間Lowであればスタートビットで、(bitが1の時の1.28msより長ければ スタートビットとみなす)
コマンドデーターの取り込み開始する、Lowが1ms以上であればそのビットは1、700μs以下なら0として取り込み、7biti分くりかえして並び替えれば
コマンドのデーターが分かる事になります。
PICに赤外線受信モジュールを接続して、実際リモコンのコマンドを読み取ってみます。
PICの2pin(A0)にモジュールのデーター出力を接続して、10kΩでプルアップしています。
プログラムはここ、 HEXはここ、
17pinからシリアルデーターが出ていますので、ハイパーターミナルでコマンドの内容を確認できます。
もどる